Data storage systems are arrangements of hardware and software that include storage processors coupled to arrays of non-volatile storage devices, such as magnetic disk drives, electronic flash drives, and/or optical drives, for example. The storage processors service storage requests, arriving from host machines (“hosts”), which specify files or other data elements to be written, read, created, deleted, and so forth. Software running on the storage processors manages incoming storage requests and performs various data processing tasks to organize and secure the data elements stored on the non-volatile storage devices.
Data storage systems commonly arrange non-volatile storage devices in different classes, or “tiers,” where each tier includes many storage drives of like kind. For example, a data storage system may include one or more flash tiers, which include flash drives that provide high-speed storage at high cost, and one or more magnetic tiers, which include magnetic disk drives that provide high capacity storage at lower cost, as well as lower speed.
Some data storage systems include software programs for performing automatic storage tiering. Such programs monitor storage elements to determine their “data temperatures,” i.e., the frequencies at which they are read and/or written, and move data between or among storage tiers to better utilize storage resources overall. For example, an automatic storage tiering program may identify “hot” data, i.e., data which is accessed frequently and thus has high data temperature. If the hot data has been placed on a magnetic storage tier, the program may move the data to a flash storage tier, so that the hot data can be accessed more quickly. Likewise, the program may identify “cold” data, which has low data temperature. If the cold data has been placed on a flash storage tier, the program may move the cold data to a magnetic storage tier, such that the flash storage occupied by the cold data is made available for receiving more hot data.